git 常用命令

  • ~2.35K 字
  1. 1. 一、基础使用
  2. 2. 二、分支管理
  3. 3. 三、版本回退与恢复
  4. 4. 四、清空提交历史(保留代码)
  5. 5. 五、Tag
    1. 5.1. 🏷️ 1. 查看已有标签
    2. 5.2. 🏷️ 2. 创建标签
      1. 5.2.1. ✔️ 轻量标签(不推荐用于发布)
      2. 5.2.2. ✅ 附注标签(推荐用于版本发布)
    3. 5.3. 🚀 3. 推送标签到远程
    4. 5.4. ❌ 4. 删除标签
    5. 5.5. ♻️ 5. 修改 / 重建标签
    6. 5.6. 🔍 6. 查看标签对应的提交
    7. 5.7. 📦 7. 使用标签生成发布包
    8. 5.8. 8. 推送区别
  6. 6. 六、常见错误解决
    1. 6.1. ❗ 错误 1:HTTP/2 推送失败

一、基础使用

# 拉取远程代码(当前分支)
git pull

# 查看远程仓库地址
git remote -v

# 删除远程仓库地址
git remote remove <name>

# 添加远程仓库地址
git remote add origin <repository_url>

# 查看当前仓库状态
git status

# 添加所有文件到暂存区
git add .

# 提交代码并添加说明
git commit -m "提交说明"

# 推送到远程 master/main 分支
git push origin master

# 第一次推送(建立 upstream 关联)
git push -u origin master

⚠️ 新项目默认分支可能是 main,请根据实际情况替换 master


二、分支管理

# 查看本地分支
git branch

# 创建分支
git branch <branch-name>

# 切换分支
git checkout <branch-name>

# 创建并切换分支
git checkout -b <branch-name>

# 合并指定分支到当前分支
git merge <branch-name>

# 删除本地分支
git branch -d <branch-name>

# 强制删除分支(未合并)
git branch -D <branch-name>

# 查看分支合并图
git log --graph --oneline --all

三、版本回退与恢复

# 查看提交历史
git log

# 查看简洁提交历史
git log --oneline

# 回退到指定提交(会丢弃之后的提交)
git reset --hard <commit_hash>

# 查看所有操作记录(可找回误删提交)
git reflog

# 强制推送(⚠️ 谨慎使用)
git push -f

⚠️ reset --hard + push -f 会改写历史,不要在公共分支随意使用


四、清空提交历史(保留代码)

常用于:重新初始化仓库 / 清理历史记录

# 1. 创建一个没有历史记录的分支
git checkout --orphan latest_branch

# 2. 添加所有文件
git add -A

# 3. 提交
git commit -m "Initial commit"

# 4. 删除原 master 分支
git branch -D master

# 5. 重命名当前分支为 master
git branch -m master

# 6. 强制推送到远程
git push -f origin master

五、Tag

🏷️ 1. 查看已有标签

git tag

模糊匹配:

git tag -l "v1.*"

🏷️ 2. 创建标签

✔️ 轻量标签(不推荐用于发布)

像一个书签,直接指向某次提交。

git tag v1.0.0

对指定 commit 打标签:

git tag v1.0.0 <commit_hash>

✅ 附注标签(推荐用于版本发布

git tag -a v1.0.0 -m "Release version 1.0.0"

指定提交:

git tag -a v1.0.0 -m "Release version 1.0.0" <commit_hash>

🚀 3. 推送标签到远程

# 推送单个标签
git push origin v1.0.0

# 推送所有本地标签
git push origin --tags

❌ 4. 删除标签

# 删除本地标签
git tag -d v1.0.0

# 删除远程标签(推荐写法)
git push origin --delete tag v1.0.0

♻️ 5. 修改 / 重建标签

如果标签打错了,可以删除再重打。

git tag -d v1.0.0

git push origin --delete tag v1.0.0

git tag -a v1.0.0 -m "Fix tag" <commit_hash>

git push origin v1.0.0

🔍 6. 查看标签对应的提交

git show v1.0.0

📦 7. 使用标签生成发布包

git archive --format=zip --output=v1.0.0.zip v1.0.0

8. 推送区别

命令 推送内容
git push 只推送 commit
git push origin --tags 推送所有标签
git push --follow-tags 推送关联的 annotated tag

推荐发布流程使用:

git push --follow-tags

六、常见错误解决

❗ 错误 1:HTTP/2 推送失败

error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)

解决办法:

git config --global http.version HTTP/1.1